1. Field of the Invention
This disclosure relates generally to electronic program guides (EPGs), and in particular but not exclusively, relates to dynamically downloading certain EPG data in response to a query for that EPG data.
2. Description of the Related Art
Traditionally, television program guides have been provided in printed form, such as in entertainment magazines or in newspaper pages. These printed program guides lay out the schedule for various television programs in grid-like arrangements that identify the programs, show times, television channels, story lines, actor names, and the like. When a viewer wishes to know when a particular television program is scheduled for broadcast, that viewer can consult the printed program guide to locate the desired information, as opposed to “channel surfing” until the television program is located.
Electronic program guides (EPGs) are now as common as printed program guides. A common form of EPG is a grid-like arrangement of television program information that is graphically overlaid over any current television channel whenever the viewer presses a “GUIDE” button or other button on a remote control. Typically, EPG software is built into a television or set top box (STB) to render the on-screen EPG when the viewer presses the GUIDE button. Updated EPG data is generally downloaded into the receiving television and/or STB circuitry on a regular daily basis, such as late in the evening when bandwidth utilization on an out-of-band channel is low.
In typical implementations of these forms of EPGs, the EPG data is “pushed” to the receiving circuitry based on zip codes and via an out-of-band channel link. For example, when a television or STB is first connected to receive the EPG data, the viewer may be asked to enter his zip code, so that the viewer receives only EPG data relevant to television programs broadcasted to that viewing area. After the zip code is provided, the EPG data is pushed to the receiving circuitry along the out-of-band channel during the update times. Head-ends may also know the particular channel line-ups that they serve to particular STBs.
Once the EPG data has been downloaded, the viewer can “bring up” the EPG whenever he wishes to view television program information. Some EPGs provide capabilities that allow the viewer to scroll through the listings (usually via use of navigation buttons on the remote control), set recordings, directly tune to particular television channels via the EPG, obtain additional information about listed television programs from the EPG, and so forth.
In areas where there are large numbers of available channels, it becomes an onerous task for the viewer to peruse a lengthy EPG (having program information for all of the available channels) in order to locate just one or two desired television program listings—most viewers are generally interested in searching for a few pieces of upcoming television programming for the next hour or two, rather than reviewing all of the television program information for the upcoming week. Moreover, downloading the complete channel lineup of EPG data for the upcoming week, in situations where there a large number of television channels available, can seriously monopolize bandwidth capacity, thereby resulting in lengthier downloading times and requiring more stringent bandwidth traffic management. Another problem is that if any single piece of EPG data needs to be updated or corrected, the corrected piece of EPG data is not provided to the STB until the next scheduled download time—and even then, the corrected piece of EPG data has to be downloaded along with the entire lineup of EPG data, rather than as an individual update. As the number of available television channels increase, the amount of EPG data that has to be downloaded and managed using existing techniques also increase, thereby stretching bandwidth capacities, EPG software processing requirements, and other resources to their limits.